- 1、elasticsearch应用背景
一个产品推荐系统,基于用户购买的行为记录,为用户归类,例如保险产品,用户所属为父母类人群,为用户推荐小孩种类的保险。
根据用户身份证号查询对应的产品信息,这个集合(索引)是大数据跑出来的。
elasticsearch 底层是基于Lucene,对外提供restApi接口调用
- 2、elasticsearch安装下载
jdk1.8环境
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.zip
$ unzip elasticsearch-5.5.1.zip
$ cd elasticsearch-5.5.1/
- 3、权限配置
chmod -R 777 /upload
启动
新建elasticsearch用户,不要用root启动。
进入bin启动 ./elasticsearch
默认9200为对外访问端口,9300内部之间访问端口
- 4、增删改查
index
- 查看当前节点的所有 Index
curl -X GET ‘http://localhost:9200/_cat/indices?v‘ - 查看指定index所有type
curl ‘localhost:9200/indexName/_mapping?pretty=true’ - 查询某index type
curl ‘localhost:9200/indexName/typeName/_search’ - 根据id查询
curl ‘localhost:9200/indexName/typeName/1?pretty=true’ - 新增记录
$ curl -X PUT ‘localhost:9200/accounts/person/1’ -d ‘
{
“user”: “张三”,
“title”: “工程师”,
“desc”: “数据库管理”
}’ - 删除记录
$ curl -X DELETE ‘localhost:9200/accounts/person/1’ - 更新记录
$ curl -X PUT ‘localhost:9200/accounts/person/1’ -d ‘
{
“user” : “张三”,
“title” : “工程师”,
“desc” : “数据库管理,软件开发”
}’8. elasticsearch查询语法,之后会再开一篇来介绍TODO
- 5、客户端
- TransportClient(附demo链接)
- 原生rest接口访问
- springframework.data.responstory.Elasticsearchtemplate
不同版本的坑,2.4和5.1
1、 2.4和5.1 TransportClient获取链接写法有区别
2、 5.1的TransportClient需要较高版本的guava,这里用的为 18.0
3、 内存不够用的情况下,进入config目录,修改jvm.property,内存由2G修改为512M
- 6、extend 插件(head)
yum install git npm
npm在epel源中
git clone https://github.com/mobz/elasticsearch-head.git
# 安装过程需要连接互联网
cd elasticsearch-head
# git clone后会自动生成的一个目录
npm install
npm run start